package com.demo.controller;

import com.demo.model.Book;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;
/**
 * BookBeans, BookController, BookAdviceController, Book, BookApp这五个类
 * 是为了说明 Bean 对象被修改的例子.
 * 以上问题的原因是因为 Bean 默认情况下是单例状态（singleton）
 * 在 Spring 中 Bean 的作⽤域默认也是 singleton 单例模式。
 * Bean 的 6 种作⽤域:
 * 1. singleton：单例作⽤域
 * 2. prototype：原型作⽤域（多例作⽤域）
 * 3. request：请求作⽤域
 * 4. session：回话作⽤域
 * 5. application：全局作⽤域
 * 6. websocket：HTTP WebSocket 作⽤域
 * 注意后 4 种状态是 Spring MVC 中的值，在普通的 Spring 项⽬中只有前两种
 */
@Controller
public class BookAdviceController {
    @Resource
    private Book book;

    public void getBook() {
        System.out.println("book: " + book.toString());
    }
}
